Many software applications include units of code packaged into files. These units of code may be referred to as assemblies. In some situations, codes for actual assemblies are installed on a server. Access to the real assemblies is typically restricted for security reasons, and therefore, direct access to the real assemblies does not exist. In such situations, remote programs and applications cannot make use of the real assemblies.
In other situations, real assemblies cannot be copied over from the server because they are only licensed for server installation. Also, the server may provide a unique context that cannot be replicated on the remote device. Therefore, the remote device does not have access to and cannot use real assemblies. Furthermore, in some situations the server may be running different or incompatible versions of the operating system and real assemblies may be incompatible with the remote device environment.